一、实验内容 画针对学生的课程Course的状态机图。 二、实验工具 Rational Rose 三、实验步骤 1、选择对象。 针对学生的课程Course的状态机图。 2、列出对象的状态。 课程的状态有:开始、初始状态、关闭状态、取消状态、结束。 3、分析状态的转换。 课程处于初始状态(Initial),管理员打开选课通道后(事件is open发生),课程进入开启状态(Open),用户进行选课。
如果选课人数达到50人(护卫条件[studentNum>=50]成立),课程进入关闭状态(Closed);
如果时间到了并且选课人数达到15人(护卫条件[timeOut&studentNum=50”,如图3。 图3 切换到Detail标签下,在Guard Condition(条件)填跃迁条件,如“studentNum>=50”,Action(动作)填动作名,如“close”。如图4。 图4 点击OK结束,添加好后如图5。 图5 (5)添加状态下的动作Actions。 以Closed状态为例子,双击状态Closed,General标签下命名(Name)为“Closed”,如图6。 图6 Actions标签下,空白处右键单击——》insert——》双击出现的“Entry/” ——》“When”中选择(出口动作On Exit/入口动作On Entry/中间动作 Do)——》“Name”命名动作。 举例,在Closed状态中添加动作“输出学生名单”(on Exit/createRoster),选择On Exit,命名为“createRoster”,如图7。 图7 建立好后,Actions标签下如图8。 图8 点击“OK”后,状态机图如图9。 图9 (6)最终图。(课程的状态机图) 图10
|